<!DOCTYPE html>
<!--
  Copyright 2011 Google Inc. All Rights Reserved.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS-IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<html><head>
<title>tv.ui.Button</title>
<script type="text/javascript" src="../testbase.js"></script>
<script type="text/javascript">
  goog.require('goog.dom');
  goog.require('goog.testing.FunctionMock');
  goog.require('goog.testing.events');
  goog.require('goog.testing.events.EventMatcher');
  goog.require('tv.ui.Button');
</script>
</head>
<body>

<div id="button"></div>

<script type="text/javascript">

  var button;
  var buttonElem;
  var mockListener;

  function setUp() {
    buttonElem = goog.dom.getElement('button');
    button = new tv.ui.Button();
    mockListener = goog.testing.createFunctionMock();
  }

  function testActionEventDispatching() {
    button.decorate(buttonElem);
    goog.events.listen(button, tv.ui.Button.EventType.ACTION, mockListener);
    mockListener(
        new goog.testing.events.EventMatcher(tv.ui.Button.EventType.ACTION))
            .$times(2);

    mockListener.$replay();

    // Mouse click.
    goog.testing.events.fireClickSequence(buttonElem);
    // ENTER key.
    goog.testing.events.fireKeySequence(document, goog.events.KeyCodes.ENTER);

    mockListener.$verify();
  }

</script>
</body></html>
